﻿#pragma once

class FVertex
{
public:
	virtual ~FVertex() = default;

	virtual void Init(float* VerticesArr, int32_t VerticeCount, float* IndexsArr, int32_t IndexCount) {}

	virtual void Use();

	virtual void Destory() { }

protected:

	uint32_t VAO = 0;
};

class FVertexPosNormalTexcood
	: public FVertex
{
	void Init(float* VerticesArr, int32_t VerticeCount, float* IndexsArr, int32_t IndexCount) override;
	void Destory() override;
};


class FVertexPos
	: public FVertex
{
	void Init(float* VerticesArr, int32_t VerticeCount, float* IndexsArr, int32_t IndexCount) override;
	void Destory() override;
};